Three-dimensional website visualization

ABSTRACT

Methods, systems, and apparatuses for visualizing content of one or more websites are provided. An amount of available content contained by at least one website is determined. A three-dimensional object is displayed having a surface. Each location of the surface of the three-dimensional object corresponds to a portion of the determined amount of available content contained by the website(s). A user is enabled to select a location of the surface of the three-dimensional object. The selected location is mapped to the corresponding portion of the determined amount of available content contained by the website(s). Content of the website(s) corresponding to the selected location, such as a web page, video, audio, an RSS feed, etc., can be accessed by selection of the location. Interaction of the user with the website(s) can be tracked, and the resulting tracking information can be displayed on the three-dimensional object.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the World Wide Web, and in particular,to browsing of websites located on the World Wide Web.

2. Background Art

A website is a collection of web pages, images, videos, audio files,and/or other content that is hosted on one or more web servers. Awebsite may contain any quantity of web pages and other items/assets ofcontent, including hundreds, thousands, millions, or even more suchitems of content. All publicly accessible websites collectively form the“World Wide Web.” It has been estimated that the total number of webpages accessible on the World Wide Web is approaching 10 billion.

Websites are typically accessed by users across a network, such as theInternet, using a tool called a browser. Typically, a user must browsethrough many pages of a website to determine a relative size of thewebsite and/or to locate all the links of the website. A convenient waydoes not exist for ascertaining the scope of a website, nor does aconvenient way exist for accessing all links to content of the website.

When a user clicks on a link in a web page to access the contentassociated with the link, the link will typically change color toindicate that the link has been accessed. Thus, the color of links maybe used to determine whether content corresponding to specific links hasbeen accessed. However, a convenient way does not currently exist forusers to keep track of the web pages in a website that the user hasaccessed.

Thus, what is needed are ways for users to ascertain the scope ofwebsites. Furthermore, what is needed is a convenient way of providingaccess to a user to all content of a website, and a way of keeping trackof the particular content in a website that a user has accessed.

BRIEF SUMMARY OF THE INVENTION

Methods, systems, and apparatuses for visualizing content of one or morewebsites are provided. A three-dimensional object is displayed. Thethree-dimensional object has a surface that corresponds to an amount ofaccessible content of the one or more websites. Each location of thesurface corresponds to a particular content item/asset of the one ormore websites. Such locations of the surface of the three-dimensionalobject may have any size, including each location being a region of thesurface, or a single pixel of the surface.

In a first example aspect, an amount of available content contained by awebsite is determined. A three-dimensional object is displayed having asurface. Each location of the surface of the three-dimensional objectcorresponds to a portion of the determined amount of available contentcontained by the website. A user is enabled to select a location of thesurface of the three-dimensional object. The selected location is mappedto the corresponding portion of the determined amount of availablecontent contained by the website.

In a further aspect, selection of a location on the surface of thethree-dimensional object can provide access to content of the websitecorresponding to the selected location, such as by opening a web page,displaying a video, playing audio, displaying content of an RSS feed,etc.

In a still further aspect, the user's interaction with the website canbe tracked, and resulting tracking information can be displayed on thethree-dimensional object. For example, an indication can be displayed atone or more locations on the three-dimensional object that the user hasinteracted with the portion of the available content of the websitecorresponding to the location(s). In another example, an indication canbe displayed at one or more locations of the three-dimensional object ofa popularity of the available content of the website corresponding tothe location(s).

In another aspect of the present invention, a website visualizationsystem is provided. The system includes a website content tracker and arendering module. The website content tracker is configured to determinean amount of available content contained by a website. The renderingmodule is configured to generate an object display signal containinginformation to enable a display device to display a three-dimensionalobject. Each location of the surface of the displayed three-dimensionalobject corresponds to a portion of the amount of available contentdetermined by the website content tracker. A display device receives theobject display signal and displays the three-dimensional object.

In a further aspect, the system includes a mapper. The mapper isconfigured to map a selected location of the surface of the displayedthree-dimensional object to the corresponding portion of the determinedamount of available content contained by the website.

In a still further aspect, the system includes a user interactiontracker. The user interaction tracker is configured to track one or moreinteractions of a user with the content of the website.

These and other objects, advantages and features will become readilyapparent in view of the following detailed description of the invention.Note that the Summary and Abstract sections may set forth one or more,but not all exemplary embodiments of the present invention ascontemplated by the inventor(s).

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form a partof the specification, illustrate the present invention and, togetherwith the description, further serve to explain the principles of theinvention and to enable a person skilled in the pertinent art to makeand use the invention.

FIG. 1 shows a flowchart providing steps for visualizing a website,according to an example embodiment of the present invention.

FIG. 2 shows a website visualization system, according to an exampleembodiment of the present invention.

FIGS. 3 and 4 show views of an example three-dimensional object shown bya display, according to an embodiment of the present invention.

FIG. 5 illustrates operation of a mapper of the website visualizationsystem of FIG. 2, according to an example embodiment of the presentinvention.

FIG. 6 shows an example mapping table that maps content of a website tocorresponding locations of a three-dimensional object, according to anembodiment of the present invention.

FIG. 7 shows an additional example step for the flowchart of FIG. 1,according to an embodiment of the present invention.

FIGS. 8 and 9 show example three-dimensional objects shown by a display,according to embodiments of the present invention.

FIG. 10 shows a flowchart providing steps for displaying graphicalfeatures on a three-dimensional object, according to an exampleembodiment of the present invention.

FIG. 11 shows an additional example step for the flowchart of FIG. 1,according to an embodiment of the present invention.

FIG. 12 shows a flowchart providing steps for tracking and displayinguser interactions with a website, according to an example embodiment ofthe present invention.

FIG. 13 shows a table used for tracking website interaction informationfor users, according to an example embodiment of the present invention.

FIG. 14 shows a three-dimensional object providing indications of auser's interaction with content of a website, according to an exampleembodiment of the present invention.

FIG. 15 shows a three-dimensional object providing content popularityindications, according to an example embodiment of the presentinvention.

FIG. 16 shows a three-dimensional object providing a comparison ofwebsite content accessed by a pair of users, according to an exampleembodiment of the present invention.

FIG. 17 shows a website visualization system, according to an embodimentof the present invention.

The present invention will now be described with reference to theaccompanying drawings. In the drawings, like reference numbers indicateidentical or functionally similar elements. Additionally, the left-mostdigit(s) of a reference number identifies the drawing in which thereference number first appears.

DETAILED DESCRIPTION OF THE INVENTION Introduction

The present specification discloses one or more embodiments thatincorporate the features of the invention. The disclosed embodiment(s)merely exemplify the invention. The scope of the invention is notlimited to the disclosed embodiment(s). The invention is defined by theclaims appended hereto.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” etc., indicate that the embodiment describedmay include a particular feature, structure, or characteristic, butevery embodiment may not necessarily include the particular feature,structure, or characteristic. Moreover, such phrases are not necessarilyreferring to the same embodiment. Further, when a particular feature,structure, or characteristic is described in connection with anembodiment, it is submitted that it is within the knowledge of oneskilled in the art to effect such feature, structure, or characteristicin connection with other embodiments whether or not explicitlydescribed.

Furthermore, it should be understood that spatial descriptions (e.g.,“above,” “below,” “up,” “left,” “right,” “down,” “top,” “bottom,”“vertical,” “horizontal,” etc.) used herein are for purposes ofillustration only, and that practical implementations of the structuresdescribed herein can be spatially arranged in any orientation or manner.

Example Embodiments

The example embodiments described herein are provided for illustrativepurposes, and are not limiting. Further structural and operationalembodiments, including modifications/alterations, will become apparentto persons skilled in the relevant art(s) from the teachings herein.

Embodiments of the present invention enable users to ascertain the scopeof websites, and provide users with convenient access to the content ofone or more websites. Furthermore, embodiments may enable users to keeptrack of the particular content in a website that the users havepreviously accessed. In an embodiment, content of one or more websitesis displayed in a graphical representation as a three-dimensionalobject. Different locations of the surface of the three-dimensionalobject represent/correspond to different portions of the content of theone or more websites.

In embodiments, a user interface enables the user to interact with thethree-dimensional object, such as by enabling the user to zoom in/out,spin, rotate, and/or otherwise manipulate the three-dimensional object.In an embodiment, when a user selects (e.g., uses a pointer device toclick on) a location of the three-dimensional object, the user traversesto content of the website corresponding to the selected location. Thecontent may be displayed/played in a browser window adjacent to thethree-dimensional object, on the three-dimensional object, and/or atother location.

The three-dimensional object may be used for personal content browsinghistory tracking with regard to the one or more websites, as well asgeneral discovery navigation of the one or more websites. For example,the progress of a user through a website may be indicated on the surfaceof the three-dimensional object. Furthermore, in embodiments, thethree-dimensional object may be used to illustrate attributes of one ormore websites, such as a popularity of the content of the one or morewebsites across a portion or entirety of a user base of the website(s).

FIG. 1 shows a flowchart 100 providing steps for visualizing a website,according to an example embodiment of the present invention. Althoughflowchart 100 is largely described below with regard to visualizing asingle website using a three-dimensional object, a portion of a website,more than one website, and portions of one or more websites may bevisualized using a three-dimensional object, according to embodiments ofthe present invention. For illustrative purposes, flowchart 100 isdescribed with respect to a website visualization system 200 shown inFIG. 2. As shown in FIG. 2, website visualization system 200 includes adisplay 202, a rendering module 206 that includes a mapper 222, awebsite 212 that includes a website content database 210, and a websitecontent and user interaction tracker 214. Other structural andoperational embodiments will be apparent to persons skilled in therelevant art(s) based on the discussion regarding flowchart 100.Flowchart 100 is described as follows.

Flowchart 100 begins with step 102. In step 102, an amount of availablecontent contained by a website is determined. According to step 102, aportion of all of a number of items of content externally accessible ata particular website, such as website 212 of FIG. 2, is determined(e.g., counted). Website 212 may be any type of website that providesaccess to a collection of content assets/items, such as web pages,images, videos, audio files, and/or other content. Website contentdatabase 210 is a database in which the content of website 212 resides.Website content database 210 may be contained in one or more storagedevices, such as hard disc drives, optical storage devices, etc. Website212 is typically hosted by one or more web servers, and may be accessedby users over one or more networks, such as the Internet. Note that inan embodiment, step 102 may include determining an amount of availablecontent contained by additional websites to website 212.

Website content and user interaction tracker 214, which is coupled towebsite 212, tracks the amount of content contained in database 210 forwebsite 212. For example, website content and user interaction tracker214 may include an application configured to count the items of contentresiding in website content database 210 for website 212. Websitecontent and user interaction tracker 214 may additionally/alternativelygenerate/maintain a list of the available content items (web pages,images, videos, audio files, and/or other content) of website 212residing in website content database 210. Tracker 214 may be implementedin hardware, software, firmware, or any combination thereof. In anembodiment, tracker 214 may track content for additional websites.

In one example implementation provided for illustrative purposes,website content and user interaction tracker 214 may determine thatfifty-four content items reside in website content database 210 forwebsite 212, and may generate/maintain the following example list ofcontent residing in website content database 210 for website 212:

1. webpage A

2. video file B

3. webpage C

4. image D

. . . .

53. RSS feed Y

54. audio file Z

(Note that this list is provided for illustrative purposes, and thatitems in such a list can be listed in any format, such as by usingdescriptive text as shown above, link name, file name with extension,etc.).

Thus, website content and user interaction tracker 214 tracks content ofwebsite 212, including generating a count of the items/assets of website212. Note that content of website 212 may be modified from time to time,such as through the addition of new content, deletion of existingcontent, and/or other modification of existing content. Website contentand user interaction tracker 214 may be configured to adjust thedetermined amount of content items and/or the maintained list of contentitems pursuant to the modifications of the content of website 212. Forexample, as shown in FIG. 2, website content database 210 may receiveadditional content 208. Website content and user interaction tracker 214may re-determine the amount of available content of website 212 afteradditional content 208 is received by website content database 210.Website content and user interaction tracker 214 may perform thisre-determination as additional content 208 is received or on a periodicbasis. Additional content 208 may include any type of content, includingweb pages, images, videos, audio files, and/or other content. Additionalcontent 208 may be generated by any type of entity, including contentdevelopers/editors, by one or more received feeds (e.g., a RSS (ReallySimple Syndication) feed), by users, etc.

In step 104, a three-dimensional object having a surface is displayedsuch that each location of the surface of the three-dimensional objectcorresponds to a portion of the determined amount of available contentcontained by the website. For example, as shown in FIG. 2, athree-dimensional object 204 is displayed by a display 202.Three-dimensional object 204 is displayed such that its surfacecorresponds to the available content of website 212 determined in step102. The surface of three-dimensional object 204 may be segmented(visibly or non-visibly) such that each location of the surfacecorresponds to a portion of the amount of content contained by website212. For example, if website 212 has one hundred content items, thesurface of object 204 may be segmented into 100 regions. Each region maybe approximately one-one hundredth ( 1/100^(th)) of an area of thesurface of three-dimensional object 204 in size. In another example, ifwebsite 212 has one thousand content items, the surface of object 204may be segmented into 1000 regions. Each region may be approximatelyone-one thousandth ( 1/1000^(th)) of an area of the surface ofthree-dimensional object 204 in size.

In embodiments, step 104 may include displaying the three-dimensionalobject such that the surface of the three-dimensional object correspondsto the entirety of the content of website 212, a portion of the contentof website 212, a portion or all of the content of website 212 and oneor more other websites, or other configuration of the content of one ormore websites.

As shown in FIG. 2, rendering module 206 receives a tracking signal 216from website content and user interaction tracker 214, and receiveswebsite information signal 218 from website 212. Tracking signal 216includes the amount of content of website 212 determined by websitecontent and user interaction tracker 214, and/or in some embodiments,may include the list of content of website 212 generated/maintained bywebsite content and user interaction tracker 214. Website informationsignal 218 includes information regarding three-dimensional object 204for display, including a description of three-dimensional object 204(e.g., a shape/size description), one or more images to be displayed onand/or adjacent to object 204, and/or further information to bedisplayed with regard to object 204. Tracking signal 216 and websiteinformation signal 218 may be provided to rendering module 206 in anyformat, including as XML data.

Rendering module 206 generates graphical rendering information based onthe received description of three-dimensional object 204, and anyassociated received images. Rendering module 206 generates an objectdisplay signal 220. Object display signal 220 contains the generatedgraphical information. Object display signal 220 is received by display202, and enables display 202 to display three-dimensional object 204.Rendering module 206 may include hardware, software, firmware, or anycombination thereof, to perform its functions. For instance, renderingmodule 206 may include a rendering application (e.g., a browser plug-inapplication) that is commercially available, such as Adobe Flash™, ormay be a proprietary application.

For instance, FIGS. 3 and 4 show views of an example three-dimensionalobject 302 displayed by display 202 (according to object display signal220), as an example of three-dimensional object 204 of FIG. 2, accordingto an embodiment of the present invention. FIG. 4 shows a view of object302 rotated 180 degrees from the view provided in FIG. 3. In FIGS. 3 and4, three-dimensional object 302 is a cube having a surface 304 formed bysix square sides 306 a-306 f. Each side 306 is segmented (as indicatedby dotted lines) into nine locations 308. Thus, in the example of FIGS.3 and 4, object 204 has fifty-four locations 308. For illustrativepurposes, locations 308 a-308 c on side 306 b and location 308 d on side306 c are indicated in FIG. 3. Example locations 308 y and 308 z on side306 e are indicated in FIG. 4. Locations 308 of surface 304 may be equalsized, as shown in FIGS. 3 and 4. In alternative embodiments, locations308 may have sizes that are different from each other. Furthermore,locations 308 may be rectangular as shown in FIGS. 3 and 4, or may othershapes, including round, triangular, hexagonal, or any other polygon orirregular shape.

Each location 308 of three-dimensional object 302 corresponds to aportion of the determined amount of available content contained bywebsite 212. For instance, in the example described above where website212 includes fifty-four content items, each of locations 308 maycorrespond to one of the fifty-four content items. In another examplewhere website 212 includes 1,000 content items, surface 304 of object302 may be divided into 1,000 locations 308, such as where each of sides306 a-306 includes 1,000÷6 (e.g., 166.67) locations 308, or some otherdistribution of locations 308 that totals 1,000. Surface 304 may besegmented into any number of locations 308, as dictated by thedetermined number of content assets/items of website 212.

In step 106, a user is enabled to select a location of the surface ofthe three-dimensional object. In FIG. 2, display 202 displays object 204in a manner such that the surface of object 204 is selectable. Forinstance, in the example of FIGS. 3 and 4, object 302 is configured indisplay 202 such that a mouse or other pointer or user interfacemechanism can traverse over surface 304 of object 302 to a particularlocation 308, to highlight and/or select the particular location 308. Inan example embodiment, object 302 is displayed by a browser application,which enables the selectability of locations 308 of object 302. Suchselectability may be enabled by HTML code, a software application suchas a browser plug-in application (e.g., a JAVA or C++ application),and/or by other mechanism, as would be known to persons skilled in therelevant art(s).

In step 108, the selected location is mapped to a corresponding portionof the determined amount of available content contained by the website.For example, referring to FIG. 3, a user may select location 308 a onsurface 304 of object 302. According to step 104, each location ofsurface 304 of object 302 corresponds to a portion of website 212. Thus,location 308 a selected by the user corresponds to a portion of website212. The portion of website 212 to which location 308 a corresponds maybe determined/maintain in any manner.

For example, FIG. 5 illustrates operation of mapper 222, according to anexample embodiment. Mapper 222 is configured to map a selected location308 to a corresponding portion of website 212. Mapper 222 may includehardware, software, firmware, or any combination thereof to perform itsfunctions. In embodiments, mapper 222 may be configured to map locations308 to portions of website 212 according to a predetermined mapping(e.g., a mapping stored in a file), or may be configured to maplocations 308 to portions of website 212 “on the fly.”

For instance, when a user selects a location 308 on surface 304 ofobject 302, coordinates 502 (e.g., X, Y, and/or Z coordinates) oflocation 308 may be generated and transmitted to rendering module 206.In the case where surface 304 stems from an image having atwo-dimensional area, X and Y coordinates of the selected location 308may be returned as coordinates 502. The coordinates may be used toselect a corresponding portion of website 212 from a list of the contentof website 212. For instance, in the example of FIGS. 3 and 4, an Xcoordinate=1 and a Y coordinate=1 (1, 1) may be generated by theselection of location 308 a (where surface 304 can be viewed as a 6 by 9two-dimensional array of locations 308, for instance). For all pairs ofreceived coordinates, a mapping algorithm of mapper 222 may calculate aposition in a content list for the corresponding content. For example,the following list is reproduced from above:

1. webpage A

2. video file B

3. webpage C

4. image D

. . . .

53. RSS feed Y

54. audio file Z

Coordinates (1, 1) may be generated by the selection of 308 a in FIG. 3,which may be mapped to position 1 in the above list. Thus “webpage A” inposition 1 corresponds to location 308 a. In another example,coordinates (6, 8) may be generated by the selection of location 308 yin FIG. 4. Coordinates (6, 8) may be mapped by mapper 222 to thefifty-third content item of the above content list (RSS feed Y), becausecoordinates (6, 8) are the fifty-third set of coordinates in a 6 by 9two-dimensional array. Mapper 222 can use any mappingalgorithm/function, to map received location coordinates on object 302to content items in a list for a website.

According to another embodiment, mapper 222 may store a mapping tablethat provides a predetermined mapping of locations 308 to portions ofwebsite 212. For instance, FIG. 6 shows an example mapping table 600that maps content of website 212 to corresponding locations 308 ofthree-dimensional object 302. As indicated by the example of mappingtable 600, webpage A of website 212 corresponds to location 308 a ofthree-dimensional object 302. Video file B of website 212 corresponds tolocation 308 b, webpage C of website 212 corresponds to location 308 c,image D of website 212 corresponds to location 308 d, RSS feed Y ofwebsite 212 corresponds to location 308 y, and audio file Z of website212 corresponds to location 308 z. Further mapping of content of website212 to locations 308 of object 302 is not shown in FIG. 6, for purposesof brevity.

As shown in FIG. 5, mapper 222 generates a mapped content indication504, which indicates the content of website 212 determined to correspondto a selected location of object 204.

In an embodiment, flowchart 100 of FIG. 1 further includes step 702shown in FIG. 7. In step 702, a user is enabled to interact with theportion of the available content of the website corresponding to theselected location. For instance, as shown in FIG. 5, mapped contentindication 504 is received by website 212. Website content database 210transmits the stored content that is indicated by mapped contentindication 504. In the example of FIG. 5, the indicated content is webpage 506. Website content database 210 provides web page 506 to display202. Display 202 displays web page 506. A user of display 202 caninteract with displayed web page 506, such as viewing the content of webpage 506 and/or selecting one or more links of web page 506, by usingone or more user interface mechanisms (e.g., a mouse/pointing device, akeyboard, a thumbwheel, a touch pad, voice activation, etc.).

Three-dimensional object 204 of FIGS. 2 and 5 can be any object viewablein three dimensions. For example, three-dimensional object 204 can be abasic shape, such as a sphere, a cube (as shown in FIGS. 3 and 4), arectangle, a pyramid, or any other three-dimensional polygon.Furthermore, three-dimensional object 204 can be a two-dimensionalobject, such as a planar triangle, square, rectangle, pentagon, hexagon,or any other planar polygon or irregular shape. For example, FIG. 8shows display 202 displaying a three-dimensional object 802, accordingto an example embodiment of the present invention. In FIG. 8, object 802is shown as a planar rectangle 802, viewed in perspective. Object 802has a surface 804 formed by opposing first and second sides 806 a and806 b. Each side 806 a and 806 b is segmented (visibly or non-visibly),as indicated by dotted lines, into nine locations 808. Thus, surface 804of object 802 has eighteen locations 808 (nine locations 808 on each ofsides 806 a and 806 b). For illustrative purposes, locations 808 a and808 b are indicated on side 806 b. Each location 808 ofthree-dimensional object 802 corresponds to a portion of the determinedamount of available content contained by website 212 (e.g., eighteencontent items/assets in the example of FIG. 8).

As shown in FIGS. 3, 4, and 8, three-dimensional objects 204 displayedby display 202 can have uniformly colored surfaces, such as having auniform white or other color image for surface 304. Alternatively,objects 204 can have surfaces that are patterned according to anycombination of colors and/or grayscale levels. For example, FIG. 9 showsdisplay 202 displaying a three-dimensional object 902, according to anexample embodiment of the present invention. In FIG. 9,three-dimensional object 902 is a spherical world globe. A surface 904of object 904 is segmented into a plurality of locations that correspondto the determined amount of available content of website 212. In theexample of FIG. 9, surface 904 is a world map image. An image on asurface of a displayed three-dimensional object, such as the world mapimage shown in FIG. 9, may be displayed as a line drawing image (as inFIG. 9), as a grayscale image, or as a single- or multi-color image.

Although shown in FIGS. 3, 4, 8, and 9 as being regularly-shaped, smoothobjects (e.g., spheres, cubes, planar objects, etc.), three-dimensionalobjects 204 displayed by display 202 can have non-smooth surfaces and/orcan have irregular shapes. For example, object 204 can be a vehicle(e.g., an automobile, a truck, a boat, an airplane, a spacecraft), aperson or portion thereof (e.g., a person's head, hand, etc.), ananimal, a consumer good/item, an item of popular culture (e.g., theDeath Star, Bart Simpson, etc.), a planet or other astronomical body, orany other object that can be displayed in three-dimensions. In anembodiment, a plurality of different types of three-dimensional objectsmay be made available to a user. The user may select thethree-dimensional object for display from the available plurality ofthree-dimensional objects. In another embodiment, the user may providethe user's own three-dimensional object for display. In still anotherembodiment, the three-dimensional object may be provided for displaywithout any choice by the user.

In an embodiment, rendering module 206 may add one or more graphicalfeatures to be displayed on object 204. For example, as shown in FIG. 9for three-dimensional object 902, rendering module 206 may add a grid910 to be displayed on surface 904 of object 902. Grid 910 includes aplurality of horizontal and vertical grid lines that traverse surface904 of object 902. Grid 910, and/or other graphical features, may bepresent on surface 904 to indicate attributes of object 902 and/orwebsite 212. For example, grid 910 may be present on surface 904 toemphasize a three-dimensionality of object 902, to indicate separationbetween different selectable locations (e.g., locations 308 shown inFIGS. 3 and 4), and/or to indicate other attributes. In one embodiment,grid lines of grid 910 coincide with the borders of selectablelocations. In another embodiment, grid lines of grid 910 may be present,but do not coincide with the borders of selectable locations.

Rendering module 206 may add graphical features for display on object204 in any manner. For example, FIG. 10 shows a flowchart 1000 providingsteps for displaying graphical features on a three-dimensional object,according to an example embodiment of the present invention. In anembodiment, steps 1002-1006 are performed by rendering module 206 shownin FIGS. 2 and 5. Flowchart 1000 is described as follows. Otherstructural and operational embodiments will be apparent to personsskilled in the relevant art(s) based on the discussion regardingflowchart 1000.

Flowchart 1000 begins with step 1002. In step 1002, an image isreceived. The image may be received as a two-dimensional image file,such as a bitmap image, GIF, JPEG, MPEG (for motion images) or otherimage file format. The image file may include any image desired to bedisplayed on a three-dimensional surface, including an exterior of avehicle, an exterior of a person's body or portion thereof, the exteriorof an animal, the exterior of a consumer good/item, the exterior of aplanet or other astronomical body, or the exterior of any other objectthat can be displayed in three-dimensions. The image may be receivedfrom website content database 210 or other source.

In step 1004, a description of the three-dimensional object is received.The description of the three-dimensional object may be received in anyformat suitable for the particular embodiment of rendering module 206.The received description describes the shape of the object, such asobject 902 (e.g., a sphere, defined by a radius), in enough detail todisplay the object in three-dimensions.

In step 1006, a graphical feature is graphically overlaid on the image.For example, the graphical feature may be a grid formed of horizontaland vertical grid lines. In such an embodiment, rendering module 206dynamically draws the grid on the received image, in a manner that wouldbe known to persons skilled in the relevant art(s). In furtherembodiments, other graphical features may be overlaid on the receivedimage by rendering module 206, such as some graphical features describedin further detail below with regard to FIGS. 14-16. Rendering module 206generates object display signal 220 to include information enabling thedisplay of the received image and graphical feature (e.g., grid)overlaid as the surface texture of the three-dimensional object.

In step 1008, the three-dimensional object is displayed according to thereceived description, with the graphically overlaid image as the surfaceof the three-dimensional object. For example, as shown in FIG. 9,display 202 displays three-dimensional object 902 (e.g., a sphere) withthe image (e.g., world map) overlaid with grid 910 as surface 904.

In embodiments, a user is enabled to interact with the three-dimensionalobject. For example, flowchart 100 of FIG. 1 may include step 1102 shownin FIG. 11. In step 1102, a user is enabled to rotate the displayedthree-dimensional object. For example, with reference to FIG. 8, a usermay be enabled to rotate three-dimensional object 802 around an axis 810as indicated by arrow 812, and/or around one or more further axes. Inthe example of FIG. 9, a user may be enabled to rotate three-dimensionalobject 802 around a polar axis of the represented globe, and/or aroundfurther axes. The user may be enabled to rotate and/or otherwisemanipulate a displayed three-dimensional object using a mouse/pointingdevice, and/or other user interface mechanism (e.g., keyboard,voice-activated, roller ball, thumbwheel, etc.). Display 202 and/orrendering module 206 may monitor the mouse (or other interfacemechanism) and update the display of the three-dimensional object toindicate corresponding rotation and/or other movement of the object,such as zooming in/out, moving the object up/down/right/left in display202, spinning, and/or otherwise manipulating the three-dimensionalobject.

In an embodiment, interactions of a user with website 212 may betracked, and information resulting from the tracked interactions can bedisplayed by three-dimensional object 204. For instance, in anembodiment, FIG. 12 shows a flowchart 1200 providing steps for trackingand displaying user interactions with a website, according to an exampleembodiment of the present invention. Flowchart 1200 is described asfollows.

Flowchart 1200 begins with step 1202. In step 1202, one or moreinteractions of a user with the content of the website are tracked. Forinstance, with reference to FIG. 5, a user may access website 212 (e.g.,using a browser) to interact with the content of website 212, such as byviewing a video, listening to audio, viewing an RSS feed, or viewing webpage 506. Web page 506 (or other content of website 212) may be accessedby interacting with three-dimensional object 204 (e.g., by selecting thecorresponding location) to indirectly access website 212, or by directlyinteracting with website 212 through a browser. In an embodiment, theinteraction with website 212 is tracked by website content and userinteraction tracker 214. Website 212, a browser application, orrendering module 206, depending on the particular system embodiment, maycommunicate information to website content and user interaction tracker214 indicating the particular content item, such as website 214, withwhich the user interacted.

Website content and user interaction tracker 214 may keep track of suchinteractions in any manner. For example, in an embodiment, tracker 214may maintain tracking information in a list or table, such as table 1300shown in FIG. 13. In first and second columns 1302 and 1304, table 1300lists content of website 212 and a corresponding location onthree-dimensional object 302, similarly to table 600 shown in FIG. 6.Furthermore, a third column 1306 of table 1300 lists a first userinteraction flag corresponding to each content item listed in column1302 of table 1300. The interaction flag indicates if the first user didinteract with (e.g., “yes”), or did not interact with (e.g., “no”) thecorresponding content item of column 1302. For example, column 1306indicates that the first user has interacted with webpage A, has notinteracted with video file B, has not interacted with webpage C, hasinteracted with image D, has not interacted with RSS feed Y, and hasinteracted with audio file Z. Website content and user interactiontracker 214 enters tracking information into column 1306 as the firstuser interacts with content of website 212. In a similar fashion, afourth column 1308 of table 1300 lists a second user interaction flagindicating whether a second user interacted with the content of firstcolumn 1302, and a fifth column 1310 of table 1300 lists a third userinteraction flag indicating whether a third user interacted with thecontent of first column 1302. The interactions of any number of usersmay be tracked by website content and user interaction tracker 214.

Step 1204 may be performed in some embodiments. In step 1204, anindication is displayed at one or more locations on the surface area ofthe three-dimensional object that the user has interacted with theportion of the available content of the website corresponding to the oneor more locations. In an embodiment, website content and userinteraction tracker 214 transmits tracking information regarding a userto rendering module 206. Such tracking information may be transmitted bytracker 214 in the form of a portion or all of table 1300 shown in FIG.13, or in other manner. Rendering module 206 receives the trackinginformation, and graphically incorporates the received trackinginformation into the display of three-dimensional object 204 to displayan indication of the user's interaction with website 212.

For example, FIG. 14 shows display 202 displaying three-dimensionalobject 302 of FIG. 3 with interaction indications for the first user,according to an embodiment of the present invention. Column 1306 oftable 1300 indicates that the first user interacted with the contentcorresponding to locations 308 a and 308 b (and location 308 z, notshown in FIG. 14). Thus, in FIG. 14, interaction indications 1402 a and1402 b are displayed at locations 308 a and 308 d, respectively, ofsurface 304 of object 302. Interaction indications 1402 a and 1402 b areshown in FIG. 14 as gray shading of locations 308 a and 308 d of surface304. Indication 1402 a indicates that the first user interacted with thecontent corresponding to location 308 a (web page A), and indication1402 b indicates that the first user interacted with the contentcorresponding to location 308 d (image D). Column 1306 of table 1300also indicates that the first user did not interact with the contentcorresponding to locations 308 b and 308 c (and location 308 y, notshown in FIG. 14). Thus, in FIG. 14, indications 1402 are not displayedat locations 308 b and 308 c. Object 302 may be rotated to viewinteraction indications 1402 for locations 308 y and 308 z, if desired.

Thus, a user can view three-dimensional object 302 as displayed in FIG.14 (including rotating object 302 as desired) to determine how much ofwebsite 212 the first user has explored. As the user interacts withfurther content of website 212, further interaction indications 1402will be displayed on locations 308 of object 302 to show this, whichwill lead to an increasingly larger percentage of surface 304 of object302 being covered with indications 1402. Conversely, as additionalcontent 208 (shown in FIGS. 2 and 5) is added to website 212, additionallocations 308 of object 302 will be present on surface 304 withoutdisplaying indications 1402. Thus, as content is added to website 212,the percentage of surface 304 of object 302 displaying indications 1402will decrease, showing that there is an increasing percentage of website212 that the user can explore.

Step 1206 of flowchart 1200 in FIG. 12 may be performed in someembodiments. In step 1206, an indication is displayed at one or morelocations of the surface area of the three-dimensional object of apopularity of the corresponding portion of the available content of thewebsite. As described above, website content and user interactiontracker 214 may track interactions with website 212 by one or moreusers, such as the first, second, and third users indicated in table1300 (columns 1306, 1308, and 1310). In an embodiment, a popularityindication for one or more content items of website 212 may be generatedbased on various factors, including how many users have interacted withthe content items. For example, in an embodiment, tracker 214 maygenerate the popularity information shown in column 1312 of table 1300from the information of columns 1306, 1308, 1310, and/or using furtheruser interaction information. Alternatively, tracker 214 may transmitthe user interaction information (e.g., data of columns 1306, 1308,1310, etc.) to rendering module 206, and rendering module 206 maygenerate the popularity information of column 1312.

The popularity information of column 1312 may be generated in anymanner, including by averaging. For example, a popularity indication fora content item/asset of a particular row of table 1300 can be calculatedby dividing the number of user interactions with the content of the rowby the total number of users, and optionally scaling/rounding theresult. For example, for the first row of table 1300, 2 out of 3 totalusers (the first and third users) interacted with the content item(webpage A), as indicated by columns 1306, 1308, and 1310. Thus, a rawpopularity indication may be calculated as 2 user interactions÷3 totalusers=0.67. The raw popularity indication may be multiplied by a scalingfactor, such as 5, for a popularity indication of 5×0.67=3.35. Thescaled popularity indication may be rounded, if desired. For example, inthe current example, the scaled popularity indication of 3.35 may berounded to 3, as indicated in table 1300. In a likewise manner,popularity indications of 2, 2, and 5 may be generated for the nextthree rows of table 1300 (for video file B, webpage C, and image D).

Rendering module 206 graphically incorporates the popularity informationinto the display of three-dimensional object 204 to display anindication of the popularity of the content items of website 212. Forexample, FIG. 15 shows display 202 displaying three-dimensional object302 of FIG. 3 with popularity indications 1502, according to anembodiment of the present invention. Column 1312 of table 1300 indicatesa popularity of 3 for the content corresponding to locations 308 a, apopularity of 2 for the content of locations 308 b and 308 c (andlocation 308 y, not shown in FIG. 15), and a popularity of 5 for thecontent of location 308 d (and location 308 z, not shown in FIG. 15).Thus, in FIG. 15, popularity indication 1502 a is displayed at location308 a at a medium grayscale indicating a popularity of 3. Popularityindications 1502 b and 1502 c are displayed at locations 308 b and 308 cat a relatively lighter grayscale indicating a popularity of 2.Popularity indication 1502 d is displayed at location 308 d having arelatively dark grayscale (e.g., black) indicating a popularity of 5.

Thus, a user can view three-dimensional object 302 as displayed in FIG.15 (including rotating object 302 as desired) to determine a popularityof each content item of website 212. Such a display on object 204 mayalso be referred to as a “heat map”, particularly when popularityindications 1502, or other types of indications, are shown in color.

Note that popularity indications 1502 and/or further types of graphicalindications may be displayed on three-dimensional objects based onadditional and/or alternative factors to the user interaction factorsdescribed above. For example, a popularity or other type of indicationmay represent a rating of a content item (e.g., rating a quality orother attribute of the content on a predetermined scale) provided byeach user, a last time/date at which the content item has been viewed byeach user, a number of times that each user has viewed the content item,and/or other factors/attributes.

Step 1208 of flowchart 1200 in FIG. 12 may be performed in someembodiments. In step 1208, an indication is displayed of a comparison ofa first portion of the available content of the website that a firstuser has accessed and a second portion of the available content of thewebsite that a second user has accessed. As described above, websitecontent and user interaction tracker 214 may track interactions withwebsite 212 by one or more users, such as the first, second, and thirdusers indicated in table 1300. In an embodiment, access of the contentof website 212 by a pair of users is compared. In an embodiment, tracker214 may generate comparison information for a pair of users by comparingthe information of two of columns 1306, 1308, 1310, and transmitting theresulting comparison information to rendering module 206. Alternatively,tracker 214 may transmit the user interaction information (e.g., data ofcolumns 1306, 1308, 1310, etc.) to rendering module 206, and renderingmodule 206 may generate the comparison information.

Rendering module 206 graphically incorporates the comparison informationinto the display of three-dimensional object 204 to display anindication of the comparison. For example, FIG. 16 shows display 202displaying three-dimensional object 302 of FIG. 3 with comparisonindications 1602, according to an embodiment of the present invention.In the current example, comparison indications 1602 indicate acomparison of content access by the second and third users (columns 1308and 1310) in table 1300. Comparison indications 1602 a and 1602 bdisplayed in locations 308 a and 308 b indicate that the second user didnot access the content corresponding to locations 308 a and 308 b(webpage A and video file B), while the third user did access thiscontent. Comparison indication 1602 c displayed in location 308 cindicates that the second user did access the content corresponding tolocation 308 c (webpage C), while the third user did not access thiscontent. Comparison indication 1602 d displayed in location 308 dindicates that the second user and third user both accessed the contentcorresponding to location 308 c (image D). In FIG. 16, comparisonindications 1602 a and 1602 b are displayed at locations 308 a and 308 bat a mid-range grayscale. Comparison indication 1602 c is displayed atlocations 308 c at a relatively lighter grayscale. Comparison indication1602 d is displayed at location 308 d at a relatively darker grayscale.If neither of the second and third users accessed content correspondingto a particular location, a comparison indication may be displayed atthe particular location at a grayscale level to indicate this.

Thus, a user can view three-dimensional object 302 as displayed in FIG.16 (including rotating object 302 as desired) to compare the extent towhich two users (e.g., the user and a friend) have explored website 212.Such as comparison may be performed for any reason. For instance, a usermay desire to compare the user's exploration of website 212 with asecond user's exploration of website 212 to determine what content thesecond user has not interacted with, and to therefore be enabled to sendone or more links to the second user to content that the second user hasnot explored.

Note that indications 1402 (FIG. 14), 1502 (FIG. 15), and 1602 (FIG. 16)may be displayed on three-dimensional objects in the form of any type ofgraphical indication. For example, indications may be displayed ingrayscale (as in FIGS. 14 and 15), as a color or range of colors, as astill or motion image, as text, and/or as any other type of graphicalindication, as would be known to persons skilled in the relevant art(s).

Embodiments of the present invention, such as system 200 shown in FIGS.2 and 5, and the processes of flowcharts 100, 1000, and 1200 shown inFIGS. 1, 10, and 12, may be implemented in hardware, software, firmware,and any combination thereof. For example, FIG. 17 shows a websitevisualization system 1700, according to an embodiment of the presentinvention. System 1700 of FIG. 17 comprises a computer 1702, a network1704, a server 1706, and storage 1708. Computer 1702 may be used by auser to access websites, such as website 212. As shown in FIG. 17,computer 1702 includes display 202, a browser application 1710, andrendering module 206. In the embodiment of FIG. 17, rendering module 206includes mapper 222. Server 1706 hosts website 212, and includes websitecontent and user interaction tracker 214.

Computer 1702 may be any type of computer, including a laptop computer,desktop computer, mobile computer, etc. Computer 1702 may includehardware, software, firmware, or any combination thereof to perform itsfunctions. A user interacts with a user interface of computer 1702 toaccess browser application 1710. Browser application 1710 may be anytype of proprietary or commercially available web browser application,such as Internet Explorer™, Mozilla Firefox™, Safari™, Opera™, orNetscape™. Browser application 1710 enables the user of computer 1702 toaccess website 212 at server 1706 over network 1704 in a known fashion.Network 1704 may be any type of communication network for computersystems, including a local area network (LAN), a wide area network(WAN), or a combination of networks such as the Internet.

Server 1706 may be any type of computer system capable of serving awebsite, as would be known to persons skilled in the relevant art(s). Atserver 1706, website 212 may provide a login 1716 for users to use toenable tracking of user information (e.g., by website content and userinteraction tracker 214), although this is not required in allembodiments. For example, a user may input a user identification andpassword to login 1716 to enable tracking. As shown in FIG. 17, in anembodiment, website content and user interaction tracker 214 may includea website content tracker 1712 and a user interaction tracker 1714.Website content tracker 1712 may be configured to determine the numberof items of content available at website 212, according to step 102 offlowchart 100 in FIG. 1. User interaction tracker 1714 may be configuredto track user interaction with website 212, according to step 1202 shownin FIG. 12. Website content tracker 1712 and user interaction tracker1714 may be implemented in hardware, software, firmware, or anycombination thereof.

As shown in FIG. 17, rendering module 206 may be a plug-in applicationto browser application 1710. Rendering module 206 receives thedetermined content amount from website content tracker 1712 and receivestracking information from website user interaction tracker 1714 fromserver 1706 over network 1704. As described further above, renderingmodule 206 generates three-dimensional object 204 having a surfacecorresponding to the determined amount of content of website 212.Display 202 displays three-dimensional object 204. Computer 1702 mayenable a user to interact with three-dimensional object 204 in display202, such as by moving or rotating object 204, selecting locations ofthe surface of object 204, etc. As described above, mapper 222 may beused to map locations of a surface of object 204 to content of website212 residing in website content database 210. Rendering module 206 mayoptionally generate object 204 to display one or more surfaceindications (e.g., user interactions, content popularity, usercomparisons, etc.).

As shown in the embodiment of FIG. 17, website content database 210resides in storage 1708 coupled to server 1706. Storage 1708 may be oneor more storage devices of any type, including hard disc drives, opticaldisc drives, etc.

In an embodiment, a computer program product may include a computerusable medium having computer readable program code means embodied inthe medium for visualizing content of a website. The computer readableprogram code may include: a first computer readable program code meansfor enabling a processor to determine an amount of available contentcontained by at least one website; a second computer readable programcode means for enabling a processor to display a three-dimensionalobject having a surface such that each location of the surface of thethree-dimensional object corresponds to a portion of the determinedamount of available content contained by the at least one website; athird computer readable program code means for enabling a processor toselect a location of the surface of the three-dimensional object; and afourth computer readable program code means for enabling a processor tomap the selected location to the corresponding portion of the determinedamount of available content contained by the at least one website.

Conclusion

While various embodiments of the present invention have been describedabove, it should be understood that they have been presented by way ofexample only, and not limitation. It will be apparent to persons skilledin the relevant art that various changes in form and detail can be madetherein without departing from the spirit and scope of the invention.Thus, the breadth and scope of the present invention should not belimited by any of the above-described exemplary embodiments, but shouldbe defined only in accordance with the following claims and theirequivalents.

1. A method of visualizing content of a website, comprising: determininga scope of the website that includes one or more related web pages bydetermining an amount of content contained by the website, thedetermined amount of content indicating a number of content itemscontained by an entirety of the website; displaying a three-dimensionalobject having a surface such that each location of the surface of thethree-dimensional object corresponds to a portion of the determinedamount of content contained by the website, wherein the displaying thethree-dimensional object comprises graphically overlaying a grid on animage that is segmented in a manner that corresponds to the number ofcontent items contained by the entirety of the website; and displayingthe three-dimensional object with the graphically overlaid image as thesurface of the three-dimensional object; enabling the user to select alocation of the surface of the three-dimensional object; mapping theselected location to a corresponding portion of the determined amount ofcontent contained by the website using at least one processor; anddisplaying an indication at one or more locations on the surface of thethree-dimensional object that the user has interacted with the portionof the determined amount of content of the website corresponding to theone or more locations.
 2. The method of claim 1, further comprising:enabling the user to interact with the portion of the content of thewebsite corresponding to the selected location.
 3. The method of claim1, further comprising: enabling a user to rotate the displayedthree-dimensional object.
 4. The method of claim 1, further comprising:re-determining the amount of content contained by the website afteradditional content is provided to the website; and displaying thethree-dimensional object such that each location of the surface of thesecond displayed three-dimensional object corresponds to a portion ofthe re-determined amount of content contained by the website afteradditional content is provided.
 5. The method of claim 1, furthercomprising: tracking one or more interactions of a user with the contentof the website.
 6. The method of claim 5, further comprising: displayingan indication at one or more locations of the surface of thethree-dimensional object of a popularity of the content of the websitecorresponding to the one or more locations.
 7. A system for visualizingcontent of a website, comprising: a computer; and a website contenttracker configured to determine a scope of the website that includes oneor more related web pages by determining an amount of content containedby the website, the determined amount of content indicating a number ofcontent items contained by an entirety of the website; and a renderingmodule included in the computer that is configured to generate an objectdisplay signal containing information to enable display of athree-dimensional object having a surface, wherein each location of thesurface of the displayed three-dimensional object corresponds to aportion of the determined amount of content contained by the website;wherein the object display signal is generated by the rendering moduleto contain information to enable display of an indication at one or morelocations on the surface of the three-dimensional object that the userhas interacted with the portion of the determined amount of content ofthe website corresponding to the one or more locations; wherein therendering module is configured to graphically overlay a grid on an imagethat is segmented in a manner that corresponds to the number of contentitems contained by the entirety of the website, and to generate theobject display signal to contain information to enable display of thethree-dimensional object with the graphically overlaid image as thesurface of the three-dimensional object.
 8. The system of claim 7,further comprising: wherein the rendering module receives the determinedamount of content contained by the website from the website contenttracker.
 9. The system of claim 7, wherein a display receives the objectdisplay signal and displays the three-dimensional object.
 10. The systemof claim 9, wherein the object display signal is generated by therendering module to contain information to enable display of anindication at one or more locations of the surface of thethree-dimensional object of a popularity of the content of the websitecorresponding to the one or more locations.
 11. The system of claim 9,further comprising: means for enabling a user to rotate the displayedthree-dimensional object.
 12. The system of claim 9, further comprising:means for enabling a user to select a location of the surface of thedisplayed three-dimensional object.
 13. The system of claim 12, furthercomprising: a mapper configured to map a selected location of thesurface of the displayed three-dimensional object to the correspondingportion of the determined amount of content contained by the website.14. The system of claim 12, further comprising: means for enabling theuser to interact with the portion of the content of the websitecorresponding to the selected location.
 15. The system of claim 14,further comprising: a user interaction tracker configured to track oneor more interactions of a user with the content of the website.
 16. Acomputer program product comprising a non-transitory computer usablemedium having computer readable program code means embodied in saidmedium for visualizing content of a website, comprising: a firstcomputer readable program code means for enabling a processor todetermine a scope of the website that includes one or more related webpages by determining an amount of content contained by the website, thedetermined amount of content indicating a number of content itemscontained by an entirety of the website; a second computer readableprogram code means for enabling a processor to display athree-dimensional object having a surface such that each location of thesurface of the three-dimensional object corresponds to a portion of thedetermined amount of content contained by the website; a third computerreadable program code means for enabling a processor to select alocation of the surface of the three-dimensional object; a fourthcomputer readable program code means for enabling a processor to map theselected location to a corresponding portion of the determined amount ofcontent contained by the website; and a fifth computer readable programcode means for enabling a processor to display an indication at one ormore locations on the surface of the three-dimensional object that theuser has interacted with the portion of the determined amount of contentof the website corresponding to the one or more locations; wherein saidsecond computer readable program code means comprises a sixth computerreadable program code means for enabling a processor to graphicallyoverlay a grid on an image that is segmented in a manner thatcorresponds to the number of content items contained by the entirety ofthe website; and a seventh computer readable program code means forenabling a processor to display the three-dimensional object with thegraphically overlaid image as the surface of the three-dimensionalobject.
 17. The computer program product of claim 16, furthercomprising: an eighth computer readable program code means for enablinga processor to enable the user to interact with the portion of thecontent of the website corresponding to the selected location.
 18. Thecomputer program product of claim 16, further comprising: an eighthcomputer readable program code means for enabling a processor to enablea user to rotate the displayed three-dimensional object.
 19. Thecomputer program product of claim 16, further comprising: an eighthcomputer readable program code means for enabling a processor to trackone or more interactions of a user with the content of the website. 20.The computer program product of claim 19, further comprising: a ninthcomputer readable program code means for enabling a processor to displayan indication at one or more locations of the surface of thethree-dimensional object of a popularity of the content of the websitecorresponding to the one or more locations.
 21. A system for visualizingcontent of a website, comprising: a server; a website content trackerincluded in the server that is configured to determine a scope of thewebsite that includes one or more related web pages by determining anamount of content contained by the website, the determined amount ofcontent indicating a number of content items contained by an entirety ofthe website, and to provide the determined amount of content containedby the website to enable a three-dimensional object having a surface tobe displayed based on the determined amount of content contained by thewebsite, each location of the surface of the displayed three-dimensionalobject corresponding to a portion of a determined amount of contentcontained by the website, wherein the displayed three-dimensional objectcomprises a graphically overlaid image as the surface of thethree-dimensional object, the image being segmented in a manner thatcorresponds to the number of content items contained by the entirety ofthe website; and a user interaction tracker configured to track one ormore interactions of the user with the content of the website.